home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / gnu / gnu_smalltalk1_2.lha / mstlex.h < prev    next >
C/C++ Source or Header  |  1992-03-01  |  2KB  |  74 lines

  1. /***********************************************************************
  2.  *
  3.  *    External definitions for the Lexer module.
  4.  *
  5.  ***********************************************************************/
  6.  
  7. /***********************************************************************
  8.  *
  9.  * Copyright (C) 1990, 1991, 1992 Free Software Foundation, Inc.
  10.  * Written by Steve Byrne.
  11.  *
  12.  * This file is part of GNU Smalltalk.
  13.  *
  14.  * GNU Smalltalk is free software; you can redistribute it and/or modify it
  15.  * under the terms of the GNU General Public License as published by the Free
  16.  * Software Foundation; either version 1, or (at your option) any later 
  17.  * version.
  18.  * 
  19.  * GNU Smalltalk is distributed in the hope that it will be useful, but WITHOUT
  20.  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
  21.  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
  22.  * more details.
  23.  * 
  24.  * You should have received a copy of the GNU General Public License along with
  25.  * GNU Smalltalk; see the file COPYING.  If not, write to the Free Software
  26.  * Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  
  27.  *
  28.  ***********************************************************************/
  29.  
  30. /*
  31.  *    Change Log
  32.  * ============================================================================
  33.  * Author      Date       Change 
  34.  * sbyrne     3 Sep 89      added getCurFileName
  35.  *
  36.  * sbyrne    14 May 89      Created.
  37.  *
  38.  */
  39.  
  40. #ifndef __MSTLEX__
  41. #define __MSTLEX__
  42.  
  43. typedef enum {
  44.   unknownStreamType,
  45.   fileStreamType,
  46.   stringStreamType
  47. #ifdef USE_READLINE
  48.   , readlineStreamType
  49. #endif /* USE_READLINE */
  50. } StreamType;
  51.  
  52.  
  53. extern Boolean            reportErrors;
  54. extern char            *firstErrorStr, *firstErrorFile;
  55. extern long            firstErrorLine;
  56.  
  57. #ifdef USE_READLINE
  58. extern OOP            getCurReadline();
  59. extern void            pushReadlineString(), initializeReadline();
  60. #endif /* USE_READLINE */
  61.  
  62. extern OOP            getCurFileName(), getCurString();
  63.  
  64. extern void            pushUNIXFile(), pushSmalltalkString(), 
  65.                 popStream(), clearMethodStartPos(),
  66.                   setStreamInfo(), initChangesStream(),
  67.                 resetChangesFile(), pushCString();
  68.  
  69. extern int            getCurFilePos(), getMethodStartPos();
  70.  
  71. extern StreamType        getCurStreamType();
  72.  
  73. #endif /* __MSTLEX__ */
  74.